.icon-card-grid-cards {
	grid-auto-rows: 1fr;
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 768px) {
	.icon-card-grid-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.icon-card-grid-cards[style*="--icon-card-grid-columns: 1;"] {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (min-width: 992px) {
	.icon-card-grid-cards {
		grid-template-columns: repeat(var(--icon-card-grid-columns, 3), minmax(0, 1fr));
	}
}

.icon-card-grid-card-content {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	grid-template-columns: minmax(0, 1fr);
	height: auto;
}

.icon-card-grid-card {
	align-items: flex-start !important;
}

.icon-card-grid-card-face {
	align-self: center;
}

.icon-card-grid-card-description {
	opacity: 1;
	transform: none;
	visibility: visible;
}

@media (min-width: 768px) {
	.icon-card-grid-card {
		align-items: center !important;
	}

	.icon-card-grid-card-content {
		display: grid;
		gap: 0;
		height: 100%;
	}

	.icon-card-grid-card-face {
		grid-area: 1 / 1;
		transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
	}

	.icon-card-grid-card-description {
		opacity: 0;
		transform: translateY(.5rem);
		visibility: hidden;
	}

	.icon-card-grid-card-has-description:hover .icon-card-grid-card-default,
	.icon-card-grid-card-has-description:focus-within .icon-card-grid-card-default {
		opacity: 0;
		transform: translateY(-.5rem);
		visibility: hidden;
	}

	.icon-card-grid-card-has-description:hover .icon-card-grid-card-description,
	.icon-card-grid-card-has-description:focus-within .icon-card-grid-card-description {
		opacity: 1;
		transform: translateY(0);
		visibility: visible;
	}
}